home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
data
/
wtmr
/
wtmr_e.mac
< prev
next >
Wrap
Text File
|
1995-02-14
|
7KB
|
222 lines
#=========================================================================
#WTERM 新規加入用 マクロプログラム WTMR_E.MAC v2.1
#=========================================================================
START:
C$=":" #ENTER.PAD内区切り文字。
LOGOPEN("MAR")
GETMACROD(J$) #J$=G:\WT\MACRO\
CAT(J$,"ENTER.PAD") #J$=G:\WT\MACRO\ENTER.PAD
FOPEN(J$,ERR) #ENTER.PADオープン。
GETLOGD(H$) #H$=G:\WT\LOG\
I$="__ENTER.PA_"
CAT(H$,I$) #H$=G:\WT\LOG\__ENTER.PA_
JUMPFILEN(H$,GUE) #__ENTER.PA_がない場合には,初回のアクセスと判断。
GOTO(WLCM) #__ENTER.PA_がある場合。二度目のアクセスと判断。
#=========================================================================
GUE: #初回のアクセスの場合。
G$="2" #入会手続き有無フラグ。
M$="OFF" #手続きせずに抜けるコマンド。
FCLOSE #ENTER.PADを閉じる。
PRINTCR(" AUTO PILOT WTMR_E.MAC v2.1 START! by Gako")
PRINTCR("")
PRINTCR(" ようこそいらっしゃいました!")
PRINTCR("")
PRINTCR("")
PRINTCR(" 今回のアクセスでは,規約等を全て読んで戴いて,一度ログアウトします。")
PRINTCR("")
PRINTCR("次回アクセス時に入会手続きを行いますので,今回のログをよく読んで下さいね。")
PRINTCR("")
PRINTCR("")
PRINTCR(" 今回は少々時間がかかりますが,そのままお待ち下さい。")
PRINTCR("")
PRINTCR("")
GETLOGD(K$) #K$=G:\WT\LOG\
O$=K$ #O$=K$=G:\WT\LOG\
LENGTH(N$,K$) #N$はK$の文字列の長さ。
DEL(K$,N$,"1") #K$の文字を一つ削除。即ち,\の削除。
CAT(L$,"copy ",J$) #L$=COPY G:\WT\MACRO\ENTER.PAD
CAT(L$," ")
CAT(L$,K$) #L$=COPY G:\WT\MACRO\ENTER.PAD G:\WT\LOG
CHILD(L$) #COPY実行。
N$="ren " #ENTER.PADを,__ENTER.PA_に改名。
CAT(O$,"ENTER.PAD") #O$=G:\WT\LOG\ENTER.PAD
CAT(O$," __ENTER.PA_") #O$=G:\WT\LOG\ENTER.PAD __ENTER.PA_
CAT(N$,O$) #N$=REN G:\WT\LOG\ENTER.PAD __ENTER.PA_
CHILD(N$) #改名実行。
GOTO(ID)
#=========================================================================
WLCM: #二度目のアクセスの場合。
G$="1" #入会手続き有無フラグ。
M$="SGN" #入会手続きを行うコマンド。
PRINTCR(" AUTO PILOT WTMR_E.MAC v2.1 START! by Gako")
PRINTCR("")
PRINTCR(" ようこそいらっしゃいました!")
PRINTCR("")
PRINTCR(" 今度は入会手続きに入ります。そのままお待ち下さいね (^o^)v")
PRINTCR("")
PRINTCR("")
ID:
TIMED("ON") #アクセスタイム表示。
WAIT("User-ID --->")
SEND("MAR00000\R") #GUESTとしてアクセスするコマンド。
WAIT("ださい-")
SEND("\R")
WAIT("\010:")
SEND("\R")
WAIT(")>")
SEND(M$)
SEND("\R")
#-------------------------------------------------------------------------
LOOP:
SWITCH
CASE("\010>")
WAIT("")
GOTO(ENTER)
CASE("\010:")
WAIT("")
SEND("\R")
GOTO(LOOP)
END
#-------------------------------------------------------------------------
ENTER: #アクセス回数による分岐。
SEND(G$) #初回アクセスでは2,二回目のアクセスでは1を送信。
SEND("\R")
VSWITCH(G$)
CASE("2") #規約等を読む。
GOTO(NEXT)
CASE("1") #入会手続きをする。
GOTO(ENTER1)
END
ENTER1:
WAIT(":",1,ENTER1)
GETCRTS(D$,"1")
JUMPSRCHY(D$,"職業(職種)の",WRITE0)
GETCRTS(D$,"4")
JUMPSRCHY(D$,"性別",GEND)
GETCRTS(D$,"3")
JUMPSRCHY(D$,"☆ その",HAND)
ENTER2:
FREAD(A$) #ENTER.PADから一行読み込む。
JUMPE(A$,"",ENTER2) #ENTER.PADの空白行の場合,繰り返し。
PICKWORD(B$,A$,C$) #C$=:
IFE(A$,"") #ENTER.PAD記述ミス(空白)の場合。
A$="記入指定漏れです。 m(_._)m "
SEND(A$) #記述内容の送信。
SEND("\R")
WRITE0: #記入項目による分岐。
WAIT(":",1,WRITE0) #プロンプト待ち。
GETCRTS(D$,"1")
JUMPSRCHY(D$,"趣味/活動所望は",END0)
GETCRTS(D$,"4")
JUMPSRCHY(D$,"性別",ENTER2)
GETCRTS(D$,"3")
JUMPSRCHY(D$,"☆ きち",PAS) #パスワード入力ミスの場合。
JUMPSRCHY(D$,"☆ 正し",HAND0)
SEND("\R") #確認改行送信。
GOTO(ENTER1)
#=========================================================================
HAND: #既に同じハンドル名が存在する場合。
INPUT(A$,"指定ハンドル名が存在しますので,12 バイト以内で変更して下さい。","705")
JUMPE(A$,"",HAND) #入力がない場合,再度入力を促す。
LENGTH(F$,A$)
JUMP>(F$,"12",HAND) #12バイトより長い場合,再度入力を促す。
SEND(A$)
SEND("\R")
GOTO(WRITE0)
HAND0: #ハンドル名が12バイトより長い場合。
INPUT(A$,"指定のハンドル名を 12 バイト以内に変更して下さい。","705")
JUMPE(A$,"",HAND0) #入力がない場合,再度入力を促す。
LENGTH(F$,A$)
JUMP>(F$,"12",HAND0) #12バイトより長い場合,再度入力を促す。
SEND(A$)
SEND("\R")
WAIT(":")
SEND("\R")
GOTO(ENTER1)
#-------------------------------------------------------------------------
PAS:
INPUT(A$,"パスワード指定ミスです。8バイト以内で入力して下さい。","705")
JUMPE(A$,"",PAS) #入力がない場合,再度入力を促す。
LENGTH(F$,A$) #入力した長さを格納。
JUMP>(F$,"8",PAS) #8バイトより長い場合,再度入力を促す。
SEND(A$)
SEND("\R")
WAIT(":")
SEND("\R")
GOTO(ENTER1)
#-------------------------------------------------------------------------
GEND: #性別記入ミス処理。
INPUT(A$,"男性は 1 ,女性は 2 と入力して下さい。","705.120")
JUMP<(A$,"1",GEND) #1 or 2以外の場合,再度入力を促す。
JUMP>(A$,"2",GEND)
SEND(A$)
SEND("\R")
GOTO(ENTER1)
#=========================================================================
ERR: #ENTER.PADが存在しない場合。
WAIT("User-ID --->")
SEND("KILL\R") #新規入会マクロミス用,強制回線切断コマンド。
WAIT("切断します-")
PRINTCR("")
PRINTCR("")
PRINTCR(" 必須の指定ファイル ENTER.PAD が指定場所にみつかりません。")
PRINTCR("")
PRINTCR(" もう一度設定しなおしてアクセスして下さい。 m(_._)m")
PRINTCR("")
PRINTCR("")
EXIT
#=========================================================================
NEXT: #初回アクセス終了処理。
WAIT("切断します-")
LOGCLOSE
PRINTCR("")
PRINTCR("")
PRINTCR(" MACRO STOP! SEE YOU AGAIN! (^o^)/゚")
PRINTCR("")
PRINTCR(" ご苦労さまでした!")
PRINTCR("")
PRINTCR(" よく規約を読んで,同意されるなら,もう一度アクセスして下さい。")
PRINTCR("")
PRINTCR(" 次回には自動的に入会手続きをとります。 (^。^)")
PRINTCR("")
EXIT
#-------------------------------------------------------------------------
END0: #最終項目送信終了後処理。
SEND("\R")
WAIT("1:OK 2:NG):")
SEND("1\R")
FCLOSE #ENTER.PADを閉じる。
WAIT("?? ([1:YES] 2:NO):")
SEND("2\R") #引き続き通信をしない,を選択。取り敢えず抜ける。
WAIT("切断します-")
LOGCLOSE
PRINTCR("")
PRINTCR("")
PRINTCR("")
PRINTCR(" MACRO STOP! SEE YOU AGAIN! (^o^)/゚")
PRINTCR("")
PRINTCR(" さあ会員登録できましたよ!")
PRINTCR("")
PRINTCR(" 次回以降のアクセスの時には,設定を変更する必要があります。")
PRINTCR("")
PRINTCR(" SET_WT.DOC と WTMRF105.DOC をお読み下さい。")
PRINTCR("")
EXIT
#=========================================================================